using System;

namespace DataBroker.Dal
{
    /// <summary>
    /// Summary description for D2BkSqlParameters.
    /// </summary>
    /// <summary>
    /// Holds the parameters used by the D2Bk class when building
    /// expressions related to Entity and other options. All items 
    /// are stored in an object of this class, and put in a thread
    /// safe hashtable for thready safety.
    /// </summary>
    internal class D2BkSqlParameters
    {
        private object _theObject;
        private Type   _valueObjectType;
        public void SetTheObject (object theObject)
        {
            _theObject = theObject;
            _valueObjectType = _theObject.GetType();
        }

        public Type ValueObjectType
        {
            get
            {
                return _valueObjectType;
            }
            set
            {
                _valueObjectType = value;
            }
        }

        private int    _CurrentUser;
        public int CurrentUser
        {
            get
            {
                return _CurrentUser;
            }
            set
            {
                _CurrentUser = value;
            }
        }
        private int    _CurrentField = -1;
        public int CurrentField
        {
            get
            {
                return _CurrentField;
            }
            set
            {
                _CurrentField = value;
            }
        }
        private long   _MaxRows = -1;
        public long MaxRows
        {
            get
            {
                return _MaxRows;
            }
            set
            {
                _MaxRows = value;
            }
        }
    }
}